package com.charging.service;
import com.charging.entity.PaymentRecord;

import java.util.List;

public interface PaymentService {
    /**
     * 根据ID获取支付记录
     */
    PaymentRecord getPaymentRecordById(Integer id);

    /**
     * 获取所有支付记录列表
     */
    List<PaymentRecord> getAllPaymentRecords();

    /**
     * 添加支付记录
     */
    boolean addPaymentRecord(PaymentRecord paymentRecord);

    /**
     * 更新支付记录信息
     */
    boolean updatePaymentRecord(PaymentRecord paymentRecord);

    /**
     * 删除支付记录
     */
    boolean deletePaymentRecord(Integer id);

    /**
     * 分页查询支付记录
     */
    List<PaymentRecord> findPaymentRecordsByPage(int page, int pageSize);

    /**
     * 获取支付记录总数
     */
    int findPaymentRecordCount();

    /**
     * 处理支付
     */
    boolean processPayment(Integer recordId, String paymentMethod);

    /**
     * 查询支付状态
     */
    String checkPaymentStatus(String orderNo);

    /**
     * 申请退款
     */
    boolean requestRefund(String orderNo);

    /**
     * 获取用户支付记录
     */
    List<PaymentRecord> getUserPaymentRecords(Integer userId);
}